package IU;

import Controladores.CtrlAMBOperario;
import Entidades.Contrato;
import Entidades.Detallecontrato;
import java.util.List;
import java.util.Vector;
import javax.swing.JOptionPane;
import utiles.Validador;

import Controladores.CtrlLocalidad;
import Controladores.CtrlPais;
import Controladores.CtrlProveedor;
import Controladores.CtrlProvincia;
import Controladores.CtrlContrato;
import Controladores.CtrlDetallecontrato;
import Controladores.CtrlDetallerecepcion;
import Controladores.CtrlEstadocontrato;
import Controladores.CtrlTransportista;
import Controladores.CtrlTransporte;
import Controladores.CtrlProducto;



import Entidades.Detallerecepcion;
import Entidades.Estadocontrato;
import Entidades.Estadooperario;
import Entidades.Producto;
import Entidades.Proveedor;
import Entidades.Transporte;
import Entidades.Transportista;
import java.awt.event.MouseAdapter;
import java.util.Collection;
import java.util.ArrayList;
import javax.swing.event.ListSelectionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;

/////////////////LISTAR////////////////////
/////////////////LISTAR////////////////////
/**
 *
 * @author  Laura
 * 
 * 
 */
public class BuscarPesajeSalida extends javax.swing.JFrame {

    static String datos;
    static String datos1;
    private int filas;
    private int cantidadColumnas;
    private String cadenaBascula;
    private String[] args;
    String telefono1;
    String telefono2;
    Proveedor proveedor;
    Producto producto;
    TablaPersonalizada tableModel;
    private List listap;
    CtrlProveedor ctrlproveedor;
    CtrlPais controladorpais;
    CtrlProvincia controladorprov;
    CtrlLocalidad controladorlocal;
    CtrlContrato controladorcontrato;
    CtrlDetallecontrato controladordetallecontr;
    CtrlEstadocontrato controladorestadocontrato;
    CtrlDetallerecepcion ctrldetallerecepcion;
    CtrlTransporte ctrltransporte;
    CtrlTransportista ctrltransportista;
    CtrlProducto ctrlproducto;
    CtrlAMBOperario ctrloperario;
    Proveedor o;
    Validador validador;
    Collection<Detallecontrato> detalleCollection = new ArrayList<Detallecontrato>();
    Estadooperario miestado = null;
    Estadocontrato e = null;
    Estadocontrato estadocontrato = null;
    Transportista transportista;
    Transporte transporte;
    Detallerecepcion detallerecepcion;
    String estado = "pendiente";
    Contrato contrato;
    Proveedor miprov = null;
    String op;
    // private List<Contrato> listacontpend = new ArrayList<Contrato>();
    private List<Detallerecepcion> listadetpend = new ArrayList<Detallerecepcion>();
    private List<Contrato> listacontparam = new ArrayList<Contrato>();
    private List<Detallerecepcion> listadetparam = new ArrayList<Detallerecepcion>();

    public BuscarPesajeSalida(String oper) {
        initComponents();
       //cargarTabla();
        op = oper;
        jTextFieldUsuario4.setText(op);
        //  cadenaBascula=cadena;
        //    System.out.print(cadenaBascula);
        //  System.out.print("cadenaBascula");
        // peso.setText(cadenaBascula);
        // System.out.print(cadena);
        //  System.out.print(cadena);

        ctrlproveedor = new CtrlProveedor();
        controladordetallecontr = new CtrlDetallecontrato();
        controladorestadocontrato = new CtrlEstadocontrato();
        controladorcontrato = new CtrlContrato();
        ctrldetallerecepcion = new CtrlDetallerecepcion();
        ctrltransporte = new CtrlTransporte();
        ctrltransportista = new CtrlTransportista();
        ctrlproducto = new CtrlProducto();
        ctrloperario = new CtrlAMBOperario();
        jButtonPesoManual.setVisible(false);

        cargarTabla();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        jButtonPesoManual = new javax.swing.JButton();
        pesaje = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTablePedidosPendientes = new javax.swing.JTable();
        jButtonSalir = new javax.swing.JButton();
        jPanel17 = new javax.swing.JPanel();
        jTextFieldUsuario4 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Pesaje Salida - Sistema Gestor de Pesaje para Bodegas");

        jTabbedPane1.setForeground(new java.awt.Color(102, 0, 102));
        jTabbedPane1.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N

        jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Transportes pendientes de pesaje", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 3, 12), new java.awt.Color(102, 0, 102))); // NOI18N

        jButtonPesoManual.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
        jButtonPesoManual.setForeground(new java.awt.Color(102, 0, 102));
        jButtonPesoManual.setText("Ingresar Peso Manual");
        jButtonPesoManual.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonPesoManualActionPerformed(evt);
            }
        });

        pesaje.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
        pesaje.setForeground(new java.awt.Color(102, 0, 102));
        pesaje.setText("Solicitud de Bascula");
        pesaje.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pesajeActionPerformed(evt);
            }
        });

        jScrollPane1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
        jScrollPane1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jScrollPane1MouseClicked(evt);
            }
        });

        jTablePedidosPendientes.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Apellido Transportista", "Patente Transporte", "Razón Social Proveedor", "Nombre Producto", "Nro Detalle Recepción", "Seleccionado"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Boolean.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, true
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTablePedidosPendientes.setColumnSelectionAllowed(true);
        jTablePedidosPendientes.getTableHeader().setReorderingAllowed(false);
        jTablePedidosPendientes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTablePedidosPendientesMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTablePedidosPendientes);
        jTablePedidosPendientes.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 736, Short.MAX_VALUE))
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(pesaje, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButtonPesoManual, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addContainerGap())
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 71, Short.MAX_VALUE)
                .addComponent(pesaje)
                .addGap(18, 18, 18)
                .addComponent(jButtonPesoManual)
                .addContainerGap())
        );

        jButtonSalir.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
        jButtonSalir.setForeground(new java.awt.Color(102, 0, 102));
        jButtonSalir.setText("Salir");
        jButtonSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonSalirActionPerformed(evt);
            }
        });

        jPanel17.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Usuario Registrado", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 3, 12), new java.awt.Color(102, 0, 102))); // NOI18N

        jTextFieldUsuario4.setEditable(false);
        jTextFieldUsuario4.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
        jTextFieldUsuario4.setForeground(new java.awt.Color(102, 0, 102));
        jTextFieldUsuario4.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));

        javax.swing.GroupLayout jPanel17Layout = new javax.swing.GroupLayout(jPanel17);
        jPanel17.setLayout(jPanel17Layout);
        jPanel17Layout.setHorizontalGroup(
            jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel17Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextFieldUsuario4, javax.swing.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel17Layout.setVerticalGroup(
            jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel17Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextFieldUsuario4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(28, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
                        .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jButtonSalir, javax.swing.GroupLayout.Alignment.TRAILING))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(52, 52, 52)
                        .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
                .addComponent(jButtonSalir)
                .addContainerGap())
        );

        jTabbedPane1.addTab("Pesaje Salida", jPanel1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1015, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(27, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE)
                .addGap(61, 61, 61))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-1068)/2, (screenSize.height-604)/2, 1068, 604);
    }// </editor-fold>//GEN-END:initComponents

private void jButtonSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSalirActionPerformed
    this.dispose();
}//GEN-LAST:event_jButtonSalirActionPerformed

/////
///
    public void cargarTabla() {
//este cargar tabla muestra los contratos pendientes del proveedor seleccionado
        DefaultTableModel modelo = (DefaultTableModel) jTablePedidosPendientes.getModel();
        try {
            listadetpend = ctrldetallerecepcion.buscarDetallerecepcionPesajeSalida();
            System.out.println("tamaño de lista det pend" + listadetpend.size());
            if(listadetpend.size()!=0){
            for (int i = 0; i < listadetpend.size(); i++) {
                Detallerecepcion detalle = listadetpend.get(i);

                Vector fila = new Vector();
                // Detallecontrato detalle =  listadetpend.get(i);
                fila.add(detalle.getRecepcion().getTransportista().getApellidoTransportista());
                fila.add(detalle.getRecepcion().getTransporte().getPatenteTransporte());
                fila.add(detalle.getRecepcion().getContrato().getProveedor().getRazonSocialProveedor());
                fila.add(detalle.getProducto().getNombreProducto());
                fila.add(detalle.getIdDetalleRecepcion());
                fila.add(false);

                modelo.addRow(fila);
                this.jTablePedidosPendientes.setModel(modelo);
            }

            }else{
            JOptionPane.showMessageDialog(this, "No se han encontrado transportes para pesaje de salida.\n ", "Pesaje Salida", JOptionPane.ERROR_MESSAGE);
            }
        } catch (Exception e) {
             JOptionPane.showMessageDialog(this, "No se han encontrado transportes para pesaje de salida.\n ", "Pesaje Salida", JOptionPane.ERROR_MESSAGE);
            System.out.println(e);
            System.out.println("no trajo la consulta + tamaño de lista det pend: " + listadetpend.size());
        }
    }

private void jButtonPesoManualActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonPesoManualActionPerformed

    //obtenerSeleccionFilas();
    //acá como me traigo los detalles de las recepciones
    System.out.println(" obtener seleccion de filas");
    int cantfilas = jTablePedidosPendientes.getModel().getRowCount();
    boolean seleccionado = false;
    Transportista transporttista = null;
    Transporte transportte = null;
    Producto productto = null;
    Proveedor proveeddor = null;
    for (int s = 0; s < cantfilas; s++) {
        System.out.println("cantfilas " + cantfilas);
        seleccionado = Boolean.parseBoolean(jTablePedidosPendientes.getValueAt(s, 5).toString());
        if (seleccionado) {
//transportista
            Object apellidotransportista = jTablePedidosPendientes.getValueAt(s, 0);
            System.out.println("apellido transportista " + apellidotransportista);
            try {
                transporttista = ctrltransportista.buscarTransportistaApellido(apellidotransportista.toString());
            } catch (Exception e) {
                System.out.println("transportista " + e);
            }
            transportista = transporttista;
            //transporte

            Object patente = jTablePedidosPendientes.getValueAt(s, 1);

            try {
                transportte = ctrltransporte.buscarTransportePatente(patente.toString());
            } catch (Exception e) {
                System.out.println("transporte" + e);
            }
            transporte = transportte;
            //proveedor
            Object provee = jTablePedidosPendientes.getValueAt(s, 2);

            try {
                proveeddor = ctrlproveedor.buscarProveedorRazon(provee.toString());
            } catch (Exception e) {
                System.out.println("proveedor " + e);
            }
            proveedor = proveeddor;

            //producto
            Object product = jTablePedidosPendientes.getValueAt(s, 3);

            try {
                productto = ctrlproducto.buscarProductoNombre(product.toString());
            } catch (Exception e) {
                System.out.println("producto " + e);
            }
            producto = productto;
            //detalle recepcion
            Object iddetallerecepcion = jTablePedidosPendientes.getValueAt(s, 4);
            System.out.println(" detalle recepcion " + iddetallerecepcion);

            try {
                detallerecepcion = ctrldetallerecepcion.buscarDetallerecepcion_X_idDetallerecepcion(Integer.parseInt(iddetallerecepcion.toString()));
                System.out.println("encontro el detallerecepcion " + detallerecepcion.toString());
                listadetparam.add(detallerecepcion);

            } catch (Exception e) {
                System.out.println("No trajo el detallerecepcion  que le pedi " + e);
            }
        }
    }
    System.out.println("********* TRANSPORTE **********" + transporte);
    System.out.println("********* transportista **********" + transportista);
    System.out.println("********* proveedor **********" + proveedor);
    System.out.println("********* producto **********" + producto);
    System.out.println("********* listadetparam  **********" + listadetparam);

    System.out.println("********* FIN CODIGO **********");

    PesajeManualSalida2 pesajemanualsalida = new PesajeManualSalida2(proveedor, transporte, transportista, listadetparam, producto,op);
    pesajemanualsalida.setVisible(true);
    this.dispose();


}//GEN-LAST:event_jButtonPesoManualActionPerformed

private void jTablePedidosPendientesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTablePedidosPendientesMouseClicked
}//GEN-LAST:event_jTablePedidosPendientesMouseClicked

private void jScrollPane1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jScrollPane1MouseClicked
}//GEN-LAST:event_jScrollPane1MouseClicked

private void pesajeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pesajeActionPerformed
    
       jButtonPesoManual.setEnabled(false);

     //obtenerSeleccionFilas();
    //acá como me traigo los detalles de las recepciones
    System.out.println(" obtener seleccion de filas");
    int cantfilas = jTablePedidosPendientes.getModel().getRowCount();
    boolean seleccionado = false;
    Transportista transporttista = null;
    Transporte transportte = null;
    Producto productto = null;
    Proveedor proveeddor = null;
    for (int s = 0; s < cantfilas; s++) {
        System.out.println("cantfilas " + cantfilas);
        seleccionado = Boolean.parseBoolean(jTablePedidosPendientes.getValueAt(s, 5).toString());
        if (seleccionado) {
//transportista
            Object apellidotransportista = jTablePedidosPendientes.getValueAt(s, 0);
            System.out.println("apellido transportista " + apellidotransportista);
            try {
                transporttista = ctrltransportista.buscarTransportistaApellido(apellidotransportista.toString());
            } catch (Exception e) {
                System.out.println("transportista " + e);
            }
            transportista = transporttista;
            //transporte

            Object patente = jTablePedidosPendientes.getValueAt(s, 1);

            try {
                transportte = ctrltransporte.buscarTransportePatente(patente.toString());
            } catch (Exception e) {
                System.out.println("transporte" + e);
            }
            transporte = transportte;
            //proveedor
            Object provee = jTablePedidosPendientes.getValueAt(s, 2);

            try {
                proveeddor = ctrlproveedor.buscarProveedorRazon(provee.toString());
            } catch (Exception e) {
                System.out.println("proveedor " + e);
            }
            proveedor = proveeddor;

            //producto
            Object product = jTablePedidosPendientes.getValueAt(s, 3);

            try {
                productto = ctrlproducto.buscarProductoNombre(product.toString());
            } catch (Exception e) {
                System.out.println("producto " + e);
            }
            producto = productto;
            //detalle recepcion
            Object iddetallerecepcion = jTablePedidosPendientes.getValueAt(s, 4);
            System.out.println(" detalle recepcion " + iddetallerecepcion);

            try {
                detallerecepcion = ctrldetallerecepcion.buscarDetallerecepcion_X_idDetallerecepcion(Integer.parseInt(iddetallerecepcion.toString()));
                System.out.println("encontro el detallerecepcion " + detallerecepcion.toString());
                listadetparam.add(detallerecepcion);

            } catch (Exception e) {
                System.out.println("No trajo el detallerecepcion  que le pedi " + e);
            }
        }
    }
    System.out.println("********* TRANSPORTE **********" + transporte);
    System.out.println("********* transportista **********" + transportista);
    System.out.println("********* proveedor **********" + proveedor);
    System.out.println("********* producto **********" + producto);
    System.out.println("********* listadetparam  **********" + listadetparam);

    System.out.println("********* FIN CODIGO **********");

//    PesajeManualSalida2 pesajemanualsalida = new PesajeManualSalida2(proveedor, transporte, transportista, listadetparam);
//    pesajemanualsalida.setVisible(true);
//    this.dispose();

ServidorSalida servidor = new ServidorSalida();
String cadenaB = servidor.ejecutar();
    
        PesajeAutomaticoSalida pesajeAutomaticoSalida = new PesajeAutomaticoSalida(cadenaB,proveedor, transporte, transportista, listadetparam,producto,op);
        pesajeAutomaticoSalida.setVisible(true);
        this.dispose();
    // TODO add your handling code here:
}//GEN-LAST:event_pesajeActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    public javax.swing.JButton jButtonPesoManual;
    private javax.swing.JButton jButtonSalir;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel17;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTable jTablePedidosPendientes;
    private javax.swing.JTextField jTextFieldUsuario4;
    public javax.swing.JButton pesaje;
    // End of variables declaration//GEN-END:variables

    private void obtenerSeleccionFilas() {
        //acá como me traigo los detalles de las recepciones
        System.out.println(" obtener seleccion de filas");
        int cantfilas = jTablePedidosPendientes.getModel().getRowCount();
        boolean seleccionado = false;
        Transportista transporttista = null;
        Transporte transportte = null;
        Producto productto = null;
        for (int s = 0; s < cantfilas; s++) {
            System.out.println("cantfilas " + cantfilas);
            seleccionado = Boolean.parseBoolean(jTablePedidosPendientes.getValueAt(s, 3).toString());
            if (seleccionado) {
//
                Object apellidotransportista = jTablePedidosPendientes.getValueAt(s, 0);
                System.out.println("valor del id del contrato seleccionado " + apellidotransportista);
                try {
                    transporttista = ctrltransportista.buscarTransportistaApellido(apellidotransportista.toString());
                } catch (Exception e) {
                    System.out.println(e);
                }
                transportista = transporttista;
                Object patente = jTablePedidosPendientes.getValueAt(s, 0);

                try {
                    transportte = ctrltransporte.buscarTransportePatente(patente.toString());
                } catch (Exception e) {
                    System.out.println(e);
                }
                transporte = transportte;

                Object product = jTablePedidosPendientes.getValueAt(s, 3);

                try {
                    productto = ctrlproducto.buscarProductoNombre(product.toString());
                } catch (Exception e) {
                    System.out.println(e);
                }
                producto = productto;

                Object iddetallerecepcion = jTablePedidosPendientes.getValueAt(s, 4);
                System.out.println("valor del id del detalle seleccionado " + iddetallerecepcion);

                try {
                    detallerecepcion = ctrldetallerecepcion.buscarDetallerecepcion_X_idDetallerecepcion(Integer.parseInt(iddetallerecepcion.toString()));
                    System.out.println("encontro el detallecontrato" + detallerecepcion.toString());
                    listadetparam.add(detallerecepcion);

                } catch (Exception e) {
                    System.out.println("No trajo el detallecontrato que le pedi " + e);
                }
            }
        }

        System.out.println("********* FIN CODIGO **********");
//        CargarRemito datosremito = new CargarRemito(miprov, listacontparam, listadetparam);
//        datosremito.setVisible(true);
    }
}
//    private boolean verificar(String cuit) {
//        boolean ver = false;
//
//        if (cuit.equals("")) {
//            JOptionPane.showMessageDialog(this, "Por favor ingrese el cuil del operario!!!", "Error", JOptionPane.ERROR_MESSAGE);
//        } else if (!validador.getInstance().soloContieneNumerosYGuiones(cuit)) {
//            JOptionPane.showMessageDialog(this, "Cuil incorrecto: Ingrese números y guiones para cuil!!!", "Error", JOptionPane.ERROR_MESSAGE);
//        } else if (!repetidoProveedor(cuit) == true) {
//            JOptionPane.showMessageDialog(this, "Error el numero de cuil pertenece a otro operario !!!", "Error", JOptionPane.ERROR_MESSAGE);
//        } else {
//            ver = true;
//        }
//
//        return ver;
//    }
//
//    private boolean repetidoProveedor(String cuit) {
//        boolean estarepetido = false;
//        Proveedor operarc = new Proveedor();
//        try {
//            operarc = controladorprovee.buscarProveedorCuit(cuit);
//            estarepetido = false;
//            System.out.println("Encontró el cuil en un operario");
//        } catch (Exception e) {
//            System.out.println("NO está repetido el cuil en otro operario");
//            estarepetido = true;
//        }
//        return estarepetido;
//    }

